"""
英雄子弹类的集合
继承至子弹类,所有子弹存在bullet_sprite里，发射函数在 Hero类里写
set_image_tpye(self, type = 0) 根据type值，设置不同的子弹图片、速度、攻击力
set_motion_type(self, type = 0)根据type值，设置子弹的发射方式
类的使用示例 example
bullet = HeroBullet()
bullet.set_bullet_type(type = 1 )
bullet.set_motion_type(type = 1 )

"""

from setting import *
from animation import *
from bullet import *


class HeroBullet(Bullet):
    def __init__(self):
        self._layer = 9
        self.groups = allgroup, herobulletgroup
        Bullet.__init__(self,self.groups)
        self.image = pygame.image.load("images/bullet/herobullet0.png").convert_alpha()
        self.rect = self.image.get_rect()
        self.mask = pygame.mask.from_surface(self.image)

    def update(self):
        # pass
        Bullet.update(self)

    def set_bullet_type(self, type=0):
        """设置子弹的类型
           子弹的图片存在同一个目录里，以 enemybullet 加 序号 加 .png
           type 0~3
        """
        self.image_type = type
        self.image = pygame.image.load('images/bullet/herobullet'+str(type)+'.png').convert_alpha()
        # self.image = self.images[0].convert_alpha()
        self.rect= self.image.get_rect()
        self.mask = pygame.mask.from_surface(self.image)